/**
 * 将图片对象转换为base64格式
 * @export
 * @param {blob} img 图片blob对象
 * @param {*} callback
 */
export function getImgBase64(img: Blob, callback: any) {
	const reader = new FileReader()
	reader.addEventListener('load', () => callback(reader.result))
	reader.readAsDataURL(img)
}

/**
 * 将base64转换为文件
 * @param {string} dataurl
 * @param {string} filename
 * @example
 * const file = dataURLtoFile(dataurl, 'image.png')
 */
export function dataURLtoFile(dataurl: string, filename: string) {
	const arr = dataurl.split(',')
	const mime = arr[0].match(/:(.*?);/)?.[1]
	const bstr = atob(arr[1]) // window.atob() 对base64数据解码
	let n = bstr.length
	const u8arr = new Uint8Array(n)
	while (n--) {
		u8arr[n] = bstr.charCodeAt(n)
	}
	return new File([u8arr], filename, { type: mime })
}
